| 簡要說明 | |
|---|---|
|
檔案: \examples\Processing\Geometry\ShearLine\LineShear_V02.va |
![]() |
|
預設平台: mE5-MA-VCL |
|
|
短說明 具備線性內插的線性剪切範例。 |
|
在此範例(位於 \examples\Processing\Geometry\ShearLine\LineShear_V02.va)中,實作了線型相機的線性剪切。 如果相機未沿著物件的預期掃描方向安裝,此設計可以補償掃描物件中產生的 偏移 (請參閱圖 328)。此處以整個影像寬度(此處為 1024 像素)內的 y 方向 10 像素線偏移為例。
在圖 329 中,您可以看到基本設計結構: 來自相機運算子的 1D 影像的每個像素都會根據其在 HierarchicalBox LineShear 中的 x 座標在 y 方向進行剪切。單行會透過運算子 SplitImage:2DImage 組合成 2D 影像。校正後的影像 會透過運算子 DmaToPC 傳送至 PC。
在圖 330 中,您可以看到 HierarchicalBox LineShear 的內容。 在此,每個像素的前面 N-1 個行相鄰像素(此處為 31)會寫入 Nx1 核心中。
此欄的每個 8 位元像素會与其前一個相鄰像素(透過運算子 KernelRemap:ShiftedKernel 找到)合併為一個 16 位元像素。因此,請參閱圖 331 中 HierarchicalBox ExtractInteger 的內容。在 HierarchicalBox Select 中 (請參閱圖 332),每个像素的新像素值會 根據平移(校正)後的整數 y 位置,透過運算子 CASE 進行選擇。
每個像素的校正 y 位置是在 HierarchicalBox TransformedYCoordinate 中計算的(請參閱圖 329)。此方塊的內容顯示於圖 333 中。
使用運算子 Coordinate_X 可以取得每个像素的 x 位置。可以「反轉」負歪斜斜率的 x 位置 (透過運算子 Const: NegativeSlope 與 IF 進行選擇)。透過運算子 CONST: DeltaX 定義相機的安裝偏差:此常數決定每隔多少個像素在 y 方向執行一個像素的偏移。 使用運算子 SelectBitField: Integer 與 SelectBitField: Fractional,可以分離每个像素的校正 y 座標的整數部分和小數部分。在此範例中,決定了 6 個小數 位元(請參閱運算子 ShiftLeft:Mult64)。每個 y 座標的小數部分對於在包含於方塊 ExtractFractional 中的 HierarchicalBox Interpolation 中執行的線性內插是必要的(請參閱圖 330)。 您可以在範例中的 HierarchicalBox Interpolation 的註解中找到有關內插演算法的詳細資訊。 在圖 334 中,您可以看到上述操作結果所產生的校正後影像。



上一頁

